dados = read_csv(
here::here("data/participation-per-country.csv"),
col_types = cols(
.default = col_double(),
site = col_character(),
country = col_character(),
geo = col_character(),
four_regions = col_character(),
eight_regions = col_character(),
six_regions = col_character(),
`World bank income group 2017` = col_character()
)
) %>%
filter(usuarios > 200)
#glimpse(dados)
Estamos interessados na relação entre quanto as pessoas de diferentes países comentam em questões dos outros. A proporção das pessoas do país que comentou nas questões de outros está medido na variável comentaram_prop.
Considerando essa variável, queremos examinar a relaçao entre ela e o quão hierárquicas são as relações em um país (PDI). Queremos também levar em conta o quanto as pessoas daquele país têm acesso à Internet (Internet) e qual o tamanho da base de dados que detectamos daquele país (usuarios).
Faça uma visualização que usa os princípios de eficácia no projeto de visualizações para facilitar as comparações que você acha que são as mais importantes para entendermos esse contexto.
dados %>%
ggplot(aes(x = comentaram_prop*100, y = PDI)) +
geom_point(aes(color = Internet, size = usuarios), alpha = 0.7) +
labs(
x = "Proporção dos comentários das pessoas de um país (%)",
y = "PDI",
color = "Internet",
size = "Usuários"
) +
theme(legend.title = element_text(size = 8),
legend.text = element_text(size = 8))
Na visualização acima utilizei posição, área e saturação. A posição foi utilizada para mostrar a relação principal.
Em seguida, faça 5 visualizações que usem as mesmas variáveis e também pontos, mas que sejam menos eficazes que a que você escolheu acima.
Algumas visualizações terão valores NA uma vez que a relação pode ser vazia.
Abaixo, a relação comentaram_prop x PDI fica em segundo plano:
dados %>%
ggplot(aes(color = comentaram_prop, size = PDI, x = Internet, y = usuarios)) +
geom_point() +
labs(
color = "Comentários das pessoas de um país (%)",
size = "PDI",
x = "Internet",
y = "Usuários"
) +
theme(legend.title = element_text(size = 8),
legend.text = element_text(size = 8))
## Warning: Removed 3 rows containing missing values (geom_point).
Aqui, o excesso de informação (mais um gráfico sobreposto) dificulta o entendimento principal.
dados %>%
ggplot(aes(x = comentaram_prop*100, y = PDI)) +
geom_line() +
geom_point(aes(color = Internet, size = usuarios), alpha = 0.7) +
labs(
x = "Proporção dos comentários das pessoas de um país (%)",
y = "PDI",
color = "Internet",
size = "Usuários"
) +
theme(legend.title = element_text(size = 8),
legend.text = element_text(size = 8))
library("plot3D")
scatter3D(x = dados$comentaram_prop*100, y = dados$PDI, z = dados$usuarios, col.var = dados$Internet,
clab = c("Internet"), bty = "g", phi = 0,
xlab = "Comentários das pessoas de um país (%)",
ylab ="PDI", zlab = "Usuarios")
plot_ly(dados, x = ~comentaram_prop*100, y = ~PDI, z = ~Internet, color = ~usuarios) %>%
add_markers()
## Warning: Ignoring 3 observations
Abaixo, tratando a variável Internet como discreta.
dados %>%
ggplot(aes(x = comentaram_prop*100, y = PDI)) +
geom_point(aes(color = as.factor(Internet), size = usuarios), alpha = 0.7)
Inclua o continente dos países (six_regions) na visualização.
Os dados NA estão para mostrar a ausência de mapeamento em dados.
dados$six_regions <- gsub("america", "America", dados$six_regions)
dados$six_regions <- gsub("east_asia_pacific", "East Asia Pacific", dados$six_regions)
dados$six_regions <- gsub("europe_central_asia", "Europe Central Asia", dados$six_regions)
dados$six_regions <- gsub("middle_east_north_africa", "Middle East North Africa", dados$six_regions)
dados$six_regions <- gsub("south_asia", "South Asia", dados$six_regions)
dados$six_regions <- gsub("sub_saharan_africa", "Sub Saharan Africa", dados$six_regions)
dados %>%
ggplot(aes(x = comentaram_prop*100, y = PDI)) +
geom_point( aes(color = Internet, size = usuarios), alpha = 0.7) +
facet_wrap(six_regions~., ncol = 2) +
labs(
x = "Proporção dos comentários das pessoas de um país (%)",
y = "PDI",
color = "Internet",
size = "Usuários"
) +
theme(legend.title = element_text(size = 8),
legend.text = element_text(size = 8))